package com.atguigu.principle;

public class Composite {

}

class A {
    public void operation1() {

    }

    public void operation2() {

    }
}

/**
 * B 类想使用A类的方法, 最好不要用B类去继承A类,如果继承了会提高AB两个类的耦合性
 */
class B {
    /**
     * 使用Set方法或者构造方法给B类的私有遍历A赋值,也可以使用到A对象,这个叫聚合,把A聚合到B类
     */
    private A a;

    /**
     * 可以直接在方法里面传入A类的对象,而不是直接用B类去继承A类,这个叫依赖,B依赖了A
     *
     * @param a
     */
    public void operation1(A a) {

    }
}
